From: Jimi Xenidis Date: Thu, 14 Sep 2006 14:17:23 +0000 (-0400) Subject: [POWERPC][XEN] Better explane the larx/stcx issue with interrupts X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15658^2~64 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=1e3aceb1421148ae742283337286bb7a128e8ecc;p=xen.git [POWERPC][XEN] Better explane the larx/stcx issue with interrupts Signed-off-by: Jimi Xenidis Signed-off-by: Hollis Blanchard --- diff --git a/xen/arch/powerpc/powerpc64/exceptions.S b/xen/arch/powerpc/powerpc64/exceptions.S index fd46ba4fc1..78ab31fb29 100644 --- a/xen/arch/powerpc/powerpc64/exceptions.S +++ b/xen/arch/powerpc/powerpc64/exceptions.S @@ -118,7 +118,11 @@ LOAD_GPRS "(\from+1)", \to, \uregs mfspr r0, SPRN_HSPRG1 std r0, UREGS_r13(r1) /* save R13 from HSPRG1 */ - /* Blow away any reservation according to 970 errata after saving CR */ + /* Only _one_ larx is allowed at a time. Any future use will be + * rejected until the earlier one (if any) completes. Since we + * may have interrupted a larx in the Domain, or Xen we need to + * clear any larx that may currently exist. We could probably + * skip which for hcalls */ ldx r0, 0, r1 stdcx. r0, 0, r1